home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #11 / Amiga Plus CD - 2002 - No. 11.iso / Tools / Development / PowerD / powerd / source / lib / powerd_lib.lha / PowerD_PPC / OStrCmp.ass < prev    next >
Text File  |  2001-02-04  |  429b  |  31 lines

  1.  
  2. # OStrCmp(r3:PTR TO CHAR,r4:PTR TO CHAR,r5=-1:LONG)
  3.  
  4.     .text
  5.     .global    _OStrCmp
  6.  
  7. _OStrCmp:
  8.     subi    r3,r3,1
  9.     subi    r4,r4,1
  10. .loop:    lbzu    r0,1(r3)
  11.     lbzu    r6,1(r4)
  12.     cmpw    r6,r0
  13.     bne    .nosame        # strings are different
  14.     mr.    r0,r0        # zero (eos) byte?
  15.     beq    .same
  16.     subi    r5,r5,1
  17.     mr.    r5,r5
  18.     bne    .loop
  19.  
  20. .same:    li    r3,0
  21.     blr
  22. .nosame:    cmpw    r6,r0
  23.     bgt    .greater
  24.     li    r3,-1
  25.     blr
  26. .greater:    li    r3,1
  27.     blr
  28.  
  29.     .type    _OStrCmp,@function
  30.     .size    _OStrCmp,$-_OStrCmp
  31.